const state={
	selectClassDialog: false,
	classlist:[]
};
const getters={
	
	isShow(state) {  //方法名随意,主要是来承载变化的selectClassDialog的值
       return state.selectClassDialog
   },
   getClassList(){
   	   return state.classlist
   }
};

const mutations = {
	show(state) {   //自定义改变state初始值的方法，这里面的参数除了state之外还可以再传额外的参数(变量或对象);
        state.selectClassDialog = true;
    },
    hide(state) {  //同上
        state.selectClassDialog = false;
    },
    setClassList(state,data){
    	
    	state.classlist=data;
    }
};

const actions = {
	hideselectClassPanel(context) {  //自定义触发mutations里函数的方法，context与store 实例具有相同方法和属性
        context.commit('hide');
    },
    showselectClassPanel(context) {  //同上注释
    	
        context.commit('show');
    },
    getCourselist(context,paras){
        
    	api.getClassListBycoursePackageId(paras).then(function(data){
    		    
    		    for(let i =0;i<data.classList.length;i++){
    		    	data.classList[i].className=data.classList[i].className+"（"+data.classList[i].classNo+"）"
    		    }
    		    let classList =[];
    		    //console.log(data.classList)
    		    for(let i =0;i<data.classList.length;i++){
      		    	if(data.classList[i].recruitNum>data.classList[i].studentNum){
      		    		classList.push(data.classList[i]);
      		    	}
    		    }
    			context.commit('setClassList',classList);
    			context.commit('show');
    			
    		
    		
    	})
    }
};

module.exports = {
	  namespaced:true,//用于在全局引用此文件里的方法时标识这一个的文件名
	  state,
	  getters,
	  actions,
	  mutations
}